package com.itcncp.ucenter.dao.model;

import java.io.Serializable;
import java.util.Date;

public class ItcsLaneInfo implements Serializable {
    /**
     * 收费车道编号（id）=18收费广场编号+2位收费车道顺序码+1位保留位 
 2位数字车道顺序码，顺序码从广场通行方向自左侧为01开始排列
     *
     * @mbg.generated
     */
    private String laneId;

    private String tollPlazaId;

    /**
     * 车道收费类型 1 &mdash; App手机支付不停车专用车道 2 &mdash; MTC 3 &mdash; 混合（手持支付+MTC）
     *
     * @mbg.generated
     */
    private Byte type;

    /**
     * 潮汐车道反向时间 8位数字，例如每天的8:30和19:00，应填&ldquo;08301900&rdquo; 非潮汐车道，该时间填00000000，潮汐车道反向时间段与广场属性相反时间段。
     *
     * @mbg.generated
     */
    private String tidalTime;

    /**
     * 车道类型 1、入口  2、出口
     *
     * @mbg.generated
     */
    private Byte direction;

    /**
     * 数据是否删除  1、删除  2、不删除
     *
     * @mbg.generated
     */
    private Byte del;

    private Date createTime;

    private static final long serialVersionUID = 1L;

    public String getLaneId() {
        return laneId;
    }

    public void setLaneId(String laneId) {
        this.laneId = laneId;
    }

    public String getTollPlazaId() {
        return tollPlazaId;
    }

    public void setTollPlazaId(String tollPlazaId) {
        this.tollPlazaId = tollPlazaId;
    }

    public Byte getType() {
        return type;
    }

    public void setType(Byte type) {
        this.type = type;
    }

    public String getTidalTime() {
        return tidalTime;
    }

    public void setTidalTime(String tidalTime) {
        this.tidalTime = tidalTime;
    }

    public Byte getDirection() {
        return direction;
    }

    public void setDirection(Byte direction) {
        this.direction = direction;
    }

    public Byte getDel() {
        return del;
    }

    public void setDel(Byte del) {
        this.del = del;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", laneId=").append(laneId);
        sb.append(", tollPlazaId=").append(tollPlazaId);
        sb.append(", type=").append(type);
        sb.append(", tidalTime=").append(tidalTime);
        sb.append(", direction=").append(direction);
        sb.append(", del=").append(del);
        sb.append(", createTime=").append(createTime);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ItcsLaneInfo other = (ItcsLaneInfo) that;
        return (this.getLaneId() == null ? other.getLaneId() == null : this.getLaneId().equals(other.getLaneId()))
            && (this.getTollPlazaId() == null ? other.getTollPlazaId() == null : this.getTollPlazaId().equals(other.getTollPlazaId()))
            && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
            && (this.getTidalTime() == null ? other.getTidalTime() == null : this.getTidalTime().equals(other.getTidalTime()))
            && (this.getDirection() == null ? other.getDirection() == null : this.getDirection().equals(other.getDirection()))
            && (this.getDel() == null ? other.getDel() == null : this.getDel().equals(other.getDel()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getLaneId() == null) ? 0 : getLaneId().hashCode());
        result = prime * result + ((getTollPlazaId() == null) ? 0 : getTollPlazaId().hashCode());
        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
        result = prime * result + ((getTidalTime() == null) ? 0 : getTidalTime().hashCode());
        result = prime * result + ((getDirection() == null) ? 0 : getDirection().hashCode());
        result = prime * result + ((getDel() == null) ? 0 : getDel().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        return result;
    }
}